package com.hiyee.pojo.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.hiyee.pojo.BasePojo;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * 前端商品详情实体
 *
 * @author WangBin
 */
public class CustomerGoodsInfoVO extends BasePojo {
    /**
     * 表ID
     */
    private Long goodsId;

    /**
     * 商品名称
     */
    private String name;

    /**
     * 商品编码
     */
    private String goodsBn;

    /**
     * 商品类型
     */
    private String goodsType;

    /**
     * 所属店铺ID
     */
    private Integer storeId;

    /**
     * 市场价
     */
    private BigDecimal marketPrice;

    /**
     * 销售价
     */
    private BigDecimal salesPrice;

    /**
     * 会员价
     */
    private BigDecimal memberPrice;

    /**
     * 商品视频
     */
    private String videoUrl;

    /**
     * 商品图片
     */
    private String imageUrl;

    /**
     * 是否虚拟商品，0否；1是
     */
    private Boolean isVirtual;

    /**
     * 商品是否预售
     */
    private Boolean isPresale;


    /**
     * 上架状态，0下架；1上架
     */
    private Boolean onSale;

    /**
     * 是否新品
     */
    private Boolean isNew;

    /**
     * 是否热卖
     */
    private Boolean isHot;

    /**
     * 关键字
     */
    private String keywords;

    /**
     * 已售数量
     */
    private Integer soldNum;

    /**
     * 创建时间
     */
    private String createdAt;

    /**
     * 更新时间
     */
    private String updatedAt;

    /**
     * 商品简介
     */
    private String intro;

    /**
     * 商品相册
     */
    private List<String> gallery;

    /**
     * 商品详情
     */
    private String pcDetail;

    /**
     * 商品规格列表
     */
    private List<Map<String, Object>> specList;

    /**
     * 获取商品详情
     *
     * @return pc_detail - 商品详情
     */
    public String getPcDetail() {
        return pcDetail;
    }

    /**
     * 设置商品详情
     *
     * @param pcDetail 商品详情
     */
    public void setPcDetail(String pcDetail) {
        this.pcDetail = pcDetail;
    }

    /**
     * 获取商品相册
     *
     * @return gallery - 商品相册
     */
    public List<String> getGallery() {
        return gallery;
    }

    /**
     * 设置商品相册
     *
     * @param gallery 商品相册
     */
    public void setGallery(List<String> gallery) {
        this.gallery = gallery;
    }

    /**
     * 获取表ID
     *
     * @return goods_id - 表ID
     */
    public Long getGoodsId() {
        return goodsId;
    }

    /**
     * 设置表ID
     *
     * @param goodsId 表ID
     */
    public void setGoodsId(Long goodsId) {
        this.goodsId = goodsId;
    }

    /**
     * 获取商品名称
     *
     * @return name - 商品名称
     */
    public String getName() {
        return name;
    }

    /**
     * 设置商品名称
     *
     * @param name 商品名称
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取商品编码
     *
     * @return goods_bn - 商品编码
     */
    public String getGoodsBn() {
        return goodsBn;
    }

    /**
     * 设置商品编码
     *
     * @param goodsBn 商品编码
     */
    public void setGoodsBn(String goodsBn) {
        this.goodsBn = goodsBn;
    }

    /**
     * 获取商品类型
     *
     * @return goods_type - 商品类型
     */
    public String getGoodsType() {
        return goodsType;
    }

    /**
     * 设置商品类型
     *
     * @param goodsType 商品类型
     */
    public void setGoodsType(String goodsType) {
        this.goodsType = goodsType;
    }

    /**
     * 获取所属店铺ID
     *
     * @return store_id - 所属店铺ID
     */
    public Integer getStoreId() {
        return storeId;
    }

    /**
     * 设置所属店铺ID
     *
     * @param storeId 所属店铺ID
     */
    public void setStoreId(Integer storeId) {
        this.storeId = storeId;
    }

    /**
     * 获取市场价
     *
     * @return market_price - 市场价
     */
    public BigDecimal getMarketPrice() {
        return marketPrice;
    }

    /**
     * 设置市场价
     *
     * @param marketPrice 市场价
     */
    public void setMarketPrice(BigDecimal marketPrice) {
        this.marketPrice = marketPrice;
    }

    /**
     * 获取销售价
     *
     * @return sales_price - 销售价
     */
    public BigDecimal getSalesPrice() {
        return salesPrice;
    }

    /**
     * 设置销售价
     *
     * @param salesPrice 销售价
     */
    public void setSalesPrice(BigDecimal salesPrice) {
        this.salesPrice = salesPrice;
    }

    /**
     * 获取会员价
     *
     * @return member_price - 会员价
     */
    public BigDecimal getMemberPrice() {
        return memberPrice;
    }

    /**
     * 设置会员价
     *
     * @param memberPrice 会员价
     */
    public void setMemberPrice(BigDecimal memberPrice) {
        this.memberPrice = memberPrice;
    }

    /**
     * 获取商品视频
     *
     * @return video_url - 商品视频
     */
    public String getVideoUrl() {
        return videoUrl;
    }

    /**
     * 设置商品视频
     *
     * @param videoUrl 商品视频
     */
    public void setVideoUrl(String videoUrl) {
        this.videoUrl = videoUrl;
    }

    /**
     * 获取商品图片
     *
     * @return image_url - 商品图片
     */
    public String getImageUrl() {
        return imageUrl;
    }

    /**
     * 设置商品图片
     *
     * @param imageUrl 商品图片
     */
    public void setImageUrl(String imageUrl) {
        this.imageUrl = imageUrl;
    }

    /**
     * 获取是否虚拟商品，0否；1是
     *
     * @return is_virtual - 是否虚拟商品，0否；1是
     */
    public Boolean getIsVirtual() {
        return isVirtual;
    }

    /**
     * 设置是否虚拟商品，0否；1是
     *
     * @param isVirtual 是否虚拟商品，0否；1是
     */
    public void setIsVirtual(Boolean isVirtual) {
        this.isVirtual = isVirtual;
    }

    /**
     * 获取商品是否预售
     *
     * @return is_presale - 商品是否预售
     */
    public Boolean getIsPresale() {
        return isPresale;
    }

    /**
     * 设置商品是否预售
     *
     * @param isPresale 商品是否预售
     */
    public void setIsPresale(Boolean isPresale) {
        this.isPresale = isPresale;
    }

    /**
     * 获取上架状态，0下架；1上架
     *
     * @return on_sale - 上架状态，0下架；1上架
     */
    public Boolean getOnSale() {
        return onSale;
    }

    /**
     * 设置上架状态，0下架；1上架
     *
     * @param onSale 上架状态，0下架；1上架
     */
    public void setOnSale(Boolean onSale) {
        this.onSale = onSale;
    }

    /**
     * 获取是否新品
     *
     * @return is_new - 是否新品
     */
    public Boolean getIsNew() {
        return isNew;
    }

    /**
     * 设置是否新品
     *
     * @param isNew 是否新品
     */
    public void setIsNew(Boolean isNew) {
        this.isNew = isNew;
    }

    /**
     * 获取是否热卖
     *
     * @return is_hot - 是否热卖
     */
    public Boolean getIsHot() {
        return isHot;
    }

    /**
     * 设置是否热卖
     *
     * @param isHot 是否热卖
     */
    public void setIsHot(Boolean isHot) {
        this.isHot = isHot;
    }

    /**
     * 获取关键字
     *
     * @return keywords - 关键字
     */
    public String getKeywords() {
        return keywords;
    }

    /**
     * 设置关键字
     *
     * @param keywords 关键字
     */
    public void setKeywords(String keywords) {
        this.keywords = keywords;
    }

    /**
     * 获取已售数量
     *
     * @return sold_num - 已售数量
     */
    public Integer getSoldNum() {
        return soldNum;
    }

    /**
     * 设置已售数量
     *
     * @param soldNum 已售数量
     */
    public void setSoldNum(Integer soldNum) {
        this.soldNum = soldNum;
    }

    /**
     * 获取创建时间
     *
     * @return created_at - 创建时间
     */
    public String getCreatedAt() {
        return createdAt;
    }

    /**
     * 设置创建时间
     *
     * @param createdAt 创建时间
     */
    public void setCreatedAt(String createdAt) {
        this.createdAt = createdAt;
    }

    /**
     * 获取更新时间
     *
     * @return updated_at - 更新时间
     */
    public String getUpdatedAt() {
        return updatedAt;
    }

    /**
     * 设置更新时间
     *
     * @param updatedAt 更新时间
     */
    public void setUpdatedAt(String updatedAt) {
        this.updatedAt = updatedAt;
    }

    /**
     * 获取商品简介
     *
     * @return intro - 商品简介
     */
    public String getIntro() {
        return intro;
    }

    /**
     * 设置商品简介
     *
     * @param intro 商品简介
     */
    public void setIntro(String intro) {
        this.intro = intro;
    }
}